import userApi from './user';
import goodsApi from './goods';
import cartApi from './cart';
import orderApi from './order';
import commonApi from './common';

// 导出API类型
export * from './types';

// 默认导出所有API
export default {
  user: userApi,
  goods: goodsApi,
  cart: cartApi,
  order: orderApi,
  common: commonApi,
};

/**
 * API使用示例：
 * 
 * 方式一（推荐）：直接导入整个API对象
 * import api from '@/api';
 * api.user.login(data);
 * api.goods.getGoodsList(params);
 * 
 * 方式二：直接导入具体模块
 * import userApi from '@/api/user';
 * userApi.login(data);
 */

// API错误码定义
export const ApiErrorCode = {
  SUCCESS: 0, // 成功
  UNAUTHORIZED: 401, // 未授权
  FORBIDDEN: 403, // 禁止访问
  NOT_FOUND: 404, // 资源不存在
  SERVER_ERROR: 500, // 服务器错误
  INVALID_PARAMS: 1001, // 参数无效
  USER_NOT_EXIST: 1002, // 用户不存在
  PASSWORD_ERROR: 1003, // 密码错误
  TOKEN_EXPIRED: 1004, // token过期
  GOODS_NOT_EXIST: 2001, // 商品不存在
  GOODS_OFF_SHELF: 2002, // 商品已下架
  GOODS_STOCK_NOT_ENOUGH: 2003, // 商品库存不足
  ORDER_NOT_EXIST: 3001, // 订单不存在
  ORDER_STATUS_ERROR: 3002, // 订单状态错误
  CART_EMPTY: 4001, // 购物车为空
} as const;

// API响应状态
export const ApiStatus = {
  // 订单状态
  ORDER: {
    PENDING_PAY: 1, // 待支付
    PENDING_DELIVER: 2, // 待发货
    PENDING_RECEIVE: 3, // 待收货
    PENDING_COMMENT: 4, // 待评价
    COMPLETED: 5, // 已完成
    CANCELLED: 6, // 已取消
    REFUNDING: 7, // 退款中
    REFUNDED: 8, // 已退款
  },
  
  // 支付方式
  PAY_TYPE: {
    WECHAT: 1, // 微信支付
    ALIPAY: 2, // 支付宝
  },
  
  // 商品状态
  GOODS: {
    ON_SALE: 1, // 在售
    OFF_SHELF: 2, // 下架
    SOLD_OUT: 3, // 售罄
  },
} as const;